package com.fangzhi.service;

import com.fangzhi.mobel.Orders;
import com.baomidou.mybatisplus.extension.service.IService;
import com.fangzhi.mobel.dto.OrderExcelDto;
import com.fangzhi.mobel.io.SaveOrderIo;
import com.fangzhi.mobel.vo.QueryOrderLogisticsDetailVo;
import com.fangzhi.utils.ResponseResult;

import java.time.LocalDate;
import java.time.YearMonth;
import java.util.List;

/**
* @author edy
* @description 针对表【orders】的数据库操作Service
* @createDate 2024-09-18 14:12:43
*/
public interface OrdersService extends IService<Orders> {

    Orders saveOrder(SaveOrderIo io);

    ResponseResult orderList(String logisticsStr, String orderId, String name, Integer orderType, LocalDate beginTime, LocalDate endTime, List<Long> accountIds, Integer receiptType, Integer orderLogisticsType, Integer pageNo, Integer pageSize);

    ResponseResult orderDetail(List<Long> accountIds, String orderId);

    ResponseResult unapprovedOrderList(List<Long> accountIds, Integer pageNo, Integer pageSize);

    ResponseResult unapprovedOrderListFour(Integer pageNo, Integer pageSize);

    ResponseResult unapprovedOrderListFive(Integer pageNo, Integer pageSize);

    ResponseResult toExists(Integer id, Integer needStatus, Integer pass);

    ResponseResult orderCount(YearMonth time);

    ResponseResult salesPrice(YearMonth time);

    List<OrderExcelDto> queryOrderExcelList(String orderId, String name, LocalDate beginTime, LocalDate endTime, List<Long> accountIds, Integer userId);

    QueryOrderLogisticsDetailVo queryOrderLogistics(String orderId);

    ResponseResult queryOrderByHotelName(String hotelName);

    Orders updateOrder(String orderId, SaveOrderIo io);

}
